package com.txzt.gaea.base.service;

import com.txzt.base.core.RtnInfo;
import com.txzt.gaea.base.dto.DataPermissionDTO;
import com.txzt.gaea.base.model.DataPermission;
import com.txzt.gaea.base.vo.DataPermissionVo;
import com.txzt.gaea.common.enums.DataPermissionTypeEnum;
import com.txzt.gaea.common.page.PageInfoBT;

import java.util.List;

public interface DataPermissionService {

    RtnInfo<PageInfoBT<DataPermissionVo>> list(DataPermissionDTO dataPermissionDTO);

    int saveInfo(DataPermission dataPermission);

    int updateInfo(DataPermission dataPermission);

    boolean addCheck(DataPermission dataPermission);

    boolean updateCheck(DataPermission dataPermission);

    int deleteInfo(Long id);

    DataPermission getInfo(Long id);

    <T> void getCurrentUserPermissionType(T entity);

    List<DataPermission> getDataPermissionInfo(List<Long> roleLongList);

    Integer getDataPermissionLevel();

    <T> void setPermissionData(T entity);
}
